﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

/// <summary>
/// 用于动态生成一个字段的工具。
/// </summary>
public sealed class FieldBuilder : MemberBuilder {

    /// <summary>
    /// 获取或设置字段的类型。
    /// </summary>
    public TypeBuilder type;

    /// <summary>
    /// 获取或设置当前字段的值。此字段只对常量有效。
    /// </summary>
    public ByteArrayList value;

    public override void write(WriteContext context) {
        attributes |= MemberAttributes.field;
        if (value != null) {
            attributes |= MemberAttributes.hasStaticField;
        }

        base.write(context);

        if (value != null) {
            context.writeByteArrayList(value);
        }
    }

}